www.gusucode.com > 通过ODBC API实现对数据库的访问JavaScript源码程序 > 通过ODBC API实现对数据库的访问/ODBCApiDataManager/ODBCApiDataManager/RoleDlg.cpp

    // RoleDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "DataManager.h"
#include "RoleDlg.h"
#include ".\roledlg.h"
#include "DbOperator\DbOperator.h"
#define IDC_TREE_ROLE 1001
// CRoleDlg 对话框

IMPLEMENT_DYNAMIC(CRoleDlg, CDialog)
CRoleDlg::CRoleDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CRoleDlg::IDD, pParent)
{
	m_treeCtrl.m_hWnd=NULL;
}

CRoleDlg::~CRoleDlg()
{
}

void CRoleDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CRoleDlg, CDialog)
	ON_WM_CREATE()
	ON_WM_SIZE()
END_MESSAGE_MAP()


// CRoleDlg 消息处理程序

int CRoleDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;
	CRect rcClient;
	GetClientRect(rcClient);
	if(m_treeCtrl.m_hWnd==NULL)
	{
		m_treeCtrl.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER,CRect(0, 0, rcClient.Width(), rcClient.Height()), this, IDC_TREE_ROLE);
		InitRoleTreeCtrl();
	}
	return 0;
}

// 初始化树型控件,并加载角色
BOOL CRoleDlg::InitRoleTreeCtrl(void)
{
	m_imageList.Create(32,32,0,7,7);
	m_imageList.SetBkColor(RGB(220,220,220));
	HICON hIcon[10];
	hIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);
	m_imageList.Add(hIcon[0]);
	hIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON2);
	m_imageList.Add(hIcon[1]);
	hIcon[2]=AfxGetApp()->LoadIcon(IDI_ICON3); 
	m_imageList.Add(hIcon[2]);
	hIcon[3]=AfxGetApp()->LoadIcon(IDI_ICON4); 
	m_imageList.Add(hIcon[3]);

	m_treeCtrl.SetImageList(&m_imageList,TVSIL_NORMAL);  //为m_mytree设置一个图像列表,使CtreeCtrl的节点显示不同的图标 
	m_treeCtrl.SetBkColor(RGB(220,220,220));//设置m_mytree的背景色

	CDbOperator dbOperator;
	int arrUserId[10000];
	int nUserCount = 0;
	dbOperator.GetUserIdFromObj_User(arrUserId, nUserCount);
	CString strUserNina;
	for(int nUser=0; nUser<nUserCount; nUser++)
	{
		dbOperator.GetNinaByUserId(arrUserId[nUser], strUserNina);
		m_treeCtrl.InsertItem(strUserNina, nUser/4, 3);
	}
	return TRUE;
}

void CRoleDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialog::OnSize(nType, cx, cy);
	CWnd* pWnd = GetWindow(GW_CHILD);
	if(pWnd!=NULL)
	{
		if(IsChild(pWnd))
		{
			pWnd->MoveWindow(0, 0, cx, cy);
		}
	}
}

void CRoleDlg::OnOK()
{
}